package com.tang.subject.infra.basic.service;

import com.tang.subject.infra.basic.entity.pojo.SubjectMapping;

import java.util.List;

/**
 * 题目分类关系表(SubjectMapping)表服务接口
 *
 * @author Tang
 * @since 2024-02-02 14:25:08
 */
public interface SubjectMappingService {

    /**
     * 通过ID查询单条数据
     *
     * @param id 主键
     * @return 实例对象
     */
    SubjectMapping queryById(Long id);

    /**
     * 根据分类id查询标签信息
     *
     * @param subjectMapping
     * @return java.util.List<java.lang.Long>
     * @author Tang
     * @date 2024/2/2 14:47
     **/
    List<SubjectMapping> queryLabel(SubjectMapping subjectMapping);

    /**
     * 新增数据
     *
     * @param subjectMapping 实例对象
     * @return 实例对象
     */
    SubjectMapping insert(SubjectMapping subjectMapping);

    /**
     * 修改数据
     *
     * @param subjectMapping 实例对象
     * @return 实例对象
     */
    SubjectMapping update(SubjectMapping subjectMapping);

    /**
     * 通过主键删除数据
     *
     * @param id 主键
     * @return 是否成功
     */
    boolean deleteById(Long id);

    /**
     * 批量插入数据
     *
     * @param subjectMappingList 待插入的数据列表
     * @author Tang
     * @date 2024/2/4 14:47
     **/
    void insertBatch(List<SubjectMapping> subjectMappingList);

    /**
     * 根据分类id批量查询
     *
     * @param categoryIds 分类id
     * @return java.util.List<com.tang.subject.infra.basic.entity.pojos.SubjectMapping>
     * @author Tang
     * @date 2024/2/20 13:28
     **/
    List<SubjectMapping> queryBatch(List<Long> categoryIds);
}
